It is well known to generate customised documents, either manually or using an automated system, from precedents or templates.
If this is done manually, then a printed standard form or other precedent, containing blank spaces for particular relevant information, will be filled in and edited on each specific occasion it is used. Instructions may be included in the standard document to help the user insert the correct or appropriate information.
If this is done using an automated system, then an electronically stored document or template will be used, in conjunction with various logical rules and other criteria, to prompt the user for the correct information and to assemble a customised document by associating various relevant rules with variables within the template. An example is the HotDocs® system which uses a library of Form Templates, which store both static and dynamic areas of text, that are initially customised by the user, in conjunction with a questionnaire to produce a completed customised document. Necessary information relevant to the dynamic text areas may either be input directly by a user, or gathered from an Answer File. The Answer File contains information which is repeatedly used in the same or similar customised document. Various logical rules and calculation criteria are used to associate information with the template to produce a final customised document. This document may then be edited, printed or stored.
Other known automated systems include that described in WO01/04772. In this system, a server computer runs a document generation program and is capable of communicating with local or remote client computers over a local area network (LAN) or a wide area network (WAN), such as the internet. A standard document, comprising various items of known information and associated logical rules, is first translated into a form suitable for processing by the document generation program. When instructed to generate a customised document, the server first generates one or more web pages which are sent to client computers for user input of the further information required to evaluate the logical rules. Users may then submit the further information to the server. Once all the required further information has been captured, the server generates a customised document on the basis of the standard document and received further information.
Both of these automated methods produce documents in known word processing formats, such as Microsoft Word. These final documents are static. However, the nature of production of the final document means that it is not possible for it to contain all of the formatting features allowed by the word processing package. For example, in a statically generated document, it is possible to include clause or paragraph numbering, as well as cross-references. This is relatively easy to achieve: Microsoft Word offers auto-numbering mechanisms, which can apply clause or paragraph numberings in a variety of formats. These mechanisms adjust the number of successive clauses or paragraphs when text is deleted, automatically. It is also possible to have a tiered numbering system, reflecting sub-clauses and sub-paragraphs.
It is also possible to include cross-references between clauses and paragraphs, again using an automatic mechanism within the Microsoft Word software. If the cross-references contain numbers, relating to particular clauses or paragraphs, and a clause is deleted, then the cross-reference is able to adjust to take this into account.
Ideally, therefore, it would be extremely useful for the final documents of the automated generation methods discussed above to contain these static features. However, at present, this is not possible.
For example, the automated methods above are able to associate conditional text and logical rules in order to produce a customised document. However, the auto-numbering mechanism is unable to cope when conditional clauses are removed from a template, which may result in the number sequence of the clause containing duplicates, missing entries or an error code.
A second issue with conditional clauses arises when a cross-reference refers to a clause which is not included in the final document. In this situation, the cross-reference is unresolved in the generated document. The cross-reference is of course resolved in the template on which the final document is based, as this contains all of the necessary conditional clauses.
The inability to cope with the numbering of and cross-referencing to conditional clauses causes particular difficulties in generated documents which require further information for completion. EP1329817 discloses a document generation system in which it is possible to generate a partially customised document, depending upon which rules have been executed based on the supplied information. It also takes into account whether the information provided is certain, unsure or whether the user wishes to defer providing particular information, and adjusts the clauses and information present in the generated document accordingly. This leads to the generation of a partially customised document, as illustrated in FIG. 1.
FIG. 1 illustrates a simple example of how conditional text affects the final document. Suppose that a particular clause in a contract relates to the law by which the contract will be governed and in which jurisdiction the court which will settle any dispute arising from the contract resides.
In FIG. 1a, an example of a prompt is shown. This prompt allows the user to select the jurisdiction in which the contract will operate, and accordingly, the law by which it is governed. The options given are England and Wales, Scotland, or Japan. As a subsidiary option, there is a choice of district court in Japan in which any action in relation to the contract can be taken: Tokyo or Kyoto. FIG. 1a shows the situation where the user is unsure whether the jurisdiction will be England and Wales or Japan. Accordingly, given the possibility that the jurisdiction could be Japan, the user has chosen the district court as Kyoto.
FIG. 1b shows a logic table for the various options shown in the prompt in FIG. 1a. This results in the text shown in FIG. 1c being generated in the customised document. The footnotes show the conditional text. As the customised document still contains conditional text, it is not final. It can itself be used as a further template for collecting information to allow a final customised document to be generated.
Consequently, it would not be possible to include clause reference numbers or cross-references in either the partially customised document or the final document, as any references to conditional text would be unresolved. An additional problem in a partially customised document is that there may be two clauses in the document, each with the same cross-reference. This is unresolvable, since for a cross-reference to function correctly, it must be unique.
A further problem arises when, as an alternative to, or as well as conditional text, the document requires a reference to information contained in an external file. This could be, for example a boilerplate clause. It makes no difference whether the information in the second file is conditional (as above) or unconditional, as neither the template nor the final document will be unable to support a reference to it.
A partial solution to the problem of providing clause references and cross-references within the same document is provided by utilising macros and cross-references provided by Microsoft Word within the template. In order to create cross-references, it would be necessary to subject each cross-reference to the same conditions as the clause to which they refer. However, this would require a great deal of hand encoding, since any change to a clause would require each cross-reference which was governed by the same conditions as that clause to be changed. This would be time consuming and prone to error.
There therefore exists a need to provide a method to produce such partially and fully customised documents which avoids the need for complex hand encoding and re-editing of the template.